var jwt = require('jsonwebtoken');
var jwtScrect = require('../../config').jwtSecretKey;  //签名

//登录接口 生成token的方法
var setToken = function (admin) {
    return new Promise((resolve, reject) => {
        //expiresln 设置token过期的时间
        const token = jwt.sign({ id: admin.id, account: admin.account, level: admin.level, name: admin.name, roles: admin.roles, avatar: admin.avatar }, jwtScrect, { expiresIn: '24h' });
        // console.log('admin====>', admin)
        resolve(token)
    })
}

//各个接口需要验证token的方法
var getToken = function (token) {
    return new Promise((resolve, reject) => {
        if (!token) {
            reject({
                error: 'token空'
            })
        }
        else {
            //第二种  改版后的
            var info = jwt.verify(token.split(' ')[1], jwtScrect);
            // console.log('info', info)
            resolve(info);  //解析返回的值（sign 传入的值）
        }
    })
}

module.exports = {
    setToken,
    getToken
}